보안 도구 개발
asmspeak_03_주석 전략과 모드에 대한 생각
작성자 : Heehyeon Yoo|2025-12-11
# asmspeak# LLM# Comment# Mode
좋은 주석이란 뭘까?
AI에게 코드를 읽히면 보통 "이 변수에 1을 더합니다" 같은 뻔한 소리를 하곤 한다.
이건 해석(Translation)이지, 내가 원하는 설명(Explanation)이 아니다.
지향해야 하는 건 '진짜 사람 같은 조언'이다.
단순히 코드의 동작을 받아적는 게 아니라, 이 코드가 왜 여기에 있는지, 그래서 결과적으로 뭐가 바뀌는지를 알려줘야 한다.
- 간결하게: 한 줄에 딱 한 문장. 구구절절 길어지면 눈만 아프다.
- 핵심만: 사소한 연산은 넘어가고, 중요한 흐름만 짚는다.
- 솔직하게: AI가 확신하지 못하는 부분은 "추측됨"이라고 솔직히 말해야 오해를 막는다.
나무가 아니라 숲을 보도록
나무(코드 라인)만 보다 보면 숲(전체 로직)을 놓치기 쉽다.
그래서 함수나 블록 단위마다 '3줄 요약표'를 붙여보자는 생각을 했다.
- What: 이 녀석이 하는 일이 뭐냐.
- Why: 굳이 왜 이 코드가 있냐.
- Result: 다 끝나면 뭐가 남냐.
이 요약표만 훑어봐도 "아, 여기는 포트 스캔하는 부분이네" 하고 바로 알 수 있어야 한다.
그래야 읽을지 넘길지 결정할 수 있으니까.
맞춤형 설명: Junior vs Senior
같은 코드를 봐도 초보자와 고수가 궁금해하는 포인트는 전혀 다를 것이다.
(사실 이런 간단한 도구를 시니어급에서 쓸까 싶은 생각에 급하게 추가한 것이긴 하다....)
아예 설명 모드를 둘로 나눴다.
Junior 모드:"친절한 선생님"
초보자는 낯선 용어나 복잡한 문법이 나오면 턱 막히니까, 이 모드에서는 용어도 풀어서 설명한다.
코드의 동작 원리를 조금 더 자세하게 이야기한다.
나처럼 분석도 좋지만 학습이 주 목적이라면 딱이다.
Senior 모드:"유능한 직장 동료"
전문가들에게는 구구절절한 설명이 오히려 방해될 것이다.
"이거 암호화 루틴임", "여기서 버퍼 오버플로우 체크함" 정도로 핵심만 툭 던져주는 게 훨씬 편할 것 같다.
결국은 읽는 도구라는 것
디버거처럼 뜯어보는 기능 중심의 분석 도구라고 보기는 어렵다.
철저하게 읽는 행위에 집중한다고 보면 더 알맞을 것이다.
내 실력에 딱 맞춘 설명과 적절한 요약 정도?
어려운 리버싱도 입문하기 쉽게, 꽤 할만해지도록 세팅하는 것이 목적이다.